<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>

<body>
    <script>
        // 给数组的原型添加2个去重方法
        // 1.返回一个新的去重后的数组


        Array.prototype.quchong1 = function () {
            var arr = [];
            console.log(this);
            for (var i = 0; i < this.length; i++) {
                console.log(this[i]);
                if (arr.indexOf(this[i]) == -1) {
                    arr.push(this[i]);
                }
            }
            return arr;
        }
        Array.prototype.quchong2 = function () {
            for (var i = 0; i < this.length; i++) {
                for (var j = i + 1; j < this.length; j++) {
                    if (this[i] === this[j]) {
                        this.splice(j, 1);
                        j--;
                    }
                }
            }
        }
        var arr = [1, 1, 2, 3, 2, 3, 2, 3, 2, 4];
        var arr1 = arr.quchong1()
        console.log(arr1);

        // 1.原型对象添加一个属性，属性值是函数
        // var obj = {
        //     name:"name"
        // }
        // obj.run = function(){}



        // 2.操作原数组去重
        function A() {
            this.name = "当前值"
            this.run = function () {
                console.log("-----", this);
            }
        }
        A.prototype.run1 = function(){
            // 在构造函数的原型中，this指向的是调用这个方法的对象
            console.log("-----",this);
        }
        // 构造函数中，this指向当前对象
        var a = new A();
        a.run();
        a.run1();
    </script>
</body>

</html>